import { RMIProxyObject } from "../../Engine/RMI/RMIProxyObject";
import { IInteractivePrx } from "./IInteractivePrx";
import { AMI_IInteractive_SpringInteract } from "./AMI_IInteractive_SpringInteract";
import { SEntityId } from "../Public/SEntityId";
import { SerializeStream } from "../../Framework/Serialize/SerializeStream";
import { Outgoing } from "../../Engine/RMI/Outgoing";
import { AMI_IInteractive_chat } from "./AMI_IInteractive_chat";
import { SChatMsg } from "./SChatMsg";
import { AMI_IInteractive_christmasKissBack } from "./AMI_IInteractive_christmasKissBack";
import { AMI_IInteractive_fireworkRecords } from "./AMI_IInteractive_fireworkRecords";
import { AMI_IInteractive_flowerKissBack } from "./AMI_IInteractive_flowerKissBack";
import { AMI_IInteractive_flowerKissBackCross } from "./AMI_IInteractive_flowerKissBackCross";
import { AMI_IInteractive_getAmuletCrossToplistInfo } from "./AMI_IInteractive_getAmuletCrossToplistInfo";
import { AMI_IInteractive_getAmuletToplistReward } from "./AMI_IInteractive_getAmuletToplistReward";
import { AMI_IInteractive_getCanVoteCount } from "./AMI_IInteractive_getCanVoteCount";
import { AMI_IInteractive_getCrossSpiritWarIncome } from "./AMI_IInteractive_getCrossSpiritWarIncome";
import { AMI_IInteractive_getScenePlayersInfo } from "./AMI_IInteractive_getScenePlayersInfo";
import { AMI_IInteractive_getShengTianIncomeInfo } from "./AMI_IInteractive_getShengTianIncomeInfo";
import { AMI_IInteractive_getTotalAndPersonWorshipNum } from "./AMI_IInteractive_getTotalAndPersonWorshipNum";
import { AMI_IInteractive_gmCloseWorldChat } from "./AMI_IInteractive_gmCloseWorldChat";
import { AMI_IInteractive_gmForbidTalk } from "./AMI_IInteractive_gmForbidTalk";
import { AMI_IInteractive_handselChristmasCard } from "./AMI_IInteractive_handselChristmasCard";
import { AMI_IInteractive_handselFlower } from "./AMI_IInteractive_handselFlower";
import { AMI_IInteractive_handselFlowerCross } from "./AMI_IInteractive_handselFlowerCross";
import { AMI_IInteractive_handselRedEnvelope } from "./AMI_IInteractive_handselRedEnvelope";
import { AMI_IInteractive_lookupReply } from "./AMI_IInteractive_lookupReply";
import { SLookupPlayerReply } from "./SLookupPlayerReply";
import { AMI_IInteractive_lookupRequest } from "./AMI_IInteractive_lookupRequest";
import { AMI_IInteractive_lookupRequestCrossToplist } from "./AMI_IInteractive_lookupRequestCrossToplist";
import { AMI_IInteractive_queryOnlineplayers } from "./AMI_IInteractive_queryOnlineplayers";
import { SeqIntHelper } from "../Public/SeqIntHelper";
import { AMI_IInteractive_votePlayer } from "./AMI_IInteractive_votePlayer";
import { AMI_IInteractive_worshipShengTianSanto } from "./AMI_IInteractive_worshipShengTianSanto";
type int = number;
//class IInteractivePrxHelper

export class IInteractivePrxHelper extends RMIProxyObject
  implements IInteractivePrx {
  constructor() {
    
    super();this.name = "IInteractive";
  }

  public SpringInteract_async(
    arg1: AMI_IInteractive_SpringInteract,
    arg2: SEntityId,
    arg3: int
  ): void {
    var loc1 = this.makeContext(this.session);
    var loc2 = this.makeCall("SpringInteract");
    var loc3 = new SerializeStream();
    arg2.__write(loc3);
    loc3.writeInt(arg3);
    Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
  }

  public chat_async(arg1: AMI_IInteractive_chat, arg2: SChatMsg): void {
    var loc1 = this.makeContext(this.session);
    var loc2 = this.makeCall("chat");
    var loc3 = new SerializeStream();
    arg2.__write(loc3);
    Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
  }

  public christmasKissBack_async(
    arg1: AMI_IInteractive_christmasKissBack,
    arg2: int,
    arg3: string
  ): void {
    var loc1 = this.makeContext(this.session);
    var loc2 = this.makeCall("christmasKissBack");
    var loc3;
    (loc3 = new SerializeStream()).writeInt(arg2);
    loc3.writeString(arg3);
    Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
    return;
  }

  public fireworkRecords_async(arg1: AMI_IInteractive_fireworkRecords): void {
    var loc1 = this.makeContext(this.session);
    var loc2 = this.makeCall("fireworkRecords");
    var loc3 = new SerializeStream();
    Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
    return;
  }

  public flowerKissBack_async(
    arg1: AMI_IInteractive_flowerKissBack,
    arg2: int,
    arg3: string
  ): void {
    var loc1 = this.makeContext(this.session);
    var loc2 = this.makeCall("flowerKissBack");
    var loc3;
    (loc3 = new SerializeStream()).writeInt(arg2);
    loc3.writeString(arg3);
    Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
    return;
  }

  public flowerKissBackCross_async(
    arg1: AMI_IInteractive_flowerKissBackCross,
    arg2: SEntityId,
    arg3: SEntityId
  ): void {
    var loc1 = this.makeContext(this.session);
    var loc2 = this.makeCall("flowerKissBackCross");
    var loc3 = new SerializeStream();
    arg2.__write(loc3);
    arg3.__write(loc3);
    Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
    return;
  }

  public getAmuletCrossToplistInfo_async(
    arg1: AMI_IInteractive_getAmuletCrossToplistInfo
  ): void {
    var loc1 = this.makeContext(this.session);
    var loc2 = this.makeCall("getAmuletCrossToplistInfo");
    var loc3 = new SerializeStream();
    Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
    return;
  }

  public getAmuletToplistReward_async(
    arg1: AMI_IInteractive_getAmuletToplistReward,
    arg2: int
  ): void {
    var loc1 = this.makeContext(this.session);
    var loc2 = this.makeCall("getAmuletToplistReward");
    var loc3;
    (loc3 = new SerializeStream()).writeInt(arg2);
    Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
    return;
  }

  public getCanVoteCount_async(arg1: AMI_IInteractive_getCanVoteCount): void {
    var loc1 = this.makeContext(this.session);
    var loc2 = this.makeCall("getCanVoteCount");
    var loc3 = new SerializeStream();
    Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
    return;
  }

  public getCrossSpiritWarIncome_async(
    arg1: AMI_IInteractive_getCrossSpiritWarIncome,
    arg2: int
  ): void {
    var loc1 = this.makeContext(this.session);
    var loc2 = this.makeCall("getCrossSpiritWarIncome");
    var loc3;
    (loc3 = new SerializeStream()).writeInt(arg2);
    Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
    return;
  }

  public getScenePlayersInfo_async(
    arg1: AMI_IInteractive_getScenePlayersInfo
  ): void {
    var loc1 = this.makeContext(this.session);
    var loc2 = this.makeCall("getScenePlayersInfo");
    var loc3 = new SerializeStream();
    Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
    return;
  }

  public getShengTianIncomeInfo_async(
    arg1: AMI_IInteractive_getShengTianIncomeInfo
  ): void {
    var loc1 = this.makeContext(this.session);
    var loc2 = this.makeCall("getShengTianIncomeInfo");
    var loc3 = new SerializeStream();
    Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
    return;
  }

  public getTotalAndPersonWorshipNum_async(
    arg1: AMI_IInteractive_getTotalAndPersonWorshipNum
  ): void {
    var loc1 = this.makeContext(this.session);
    var loc2 = this.makeCall("getTotalAndPersonWorshipNum");
    var loc3 = new SerializeStream();
    Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
    return;
  }

  public gmCloseWorldChat_async(
    arg1: AMI_IInteractive_gmCloseWorldChat,
    arg2: int
  ): void {
    var loc1 = this.makeContext(this.session);
    var loc2 = this.makeCall("gmCloseWorldChat");
    var loc3;
    (loc3 = new SerializeStream()).writeInt(arg2);
    Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
    return;
  }

  public gmForbidTalk_async(
    arg1: AMI_IInteractive_gmForbidTalk,
    arg2: int,
    arg3: int
  ): void {
    var loc1 = this.makeContext(this.session);
    var loc2 = this.makeCall("gmForbidTalk");
    var loc3;
    (loc3 = new SerializeStream()).writeInt(arg2);
    loc3.writeInt(arg3);
    Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
    return;
  }

  public handselChristmasCard_async(
    arg1: AMI_IInteractive_handselChristmasCard,
    arg2: int,
    arg3: string,
    arg4: int,
    arg5: string,
    arg6: Boolean,
    arg7: int
  ): void {
    var loc1 = this.makeContext(this.session);
    var loc2 = this.makeCall("handselChristmasCard");
    var loc3;
    (loc3 = new SerializeStream()).writeInt(arg2);
    loc3.writeString(arg3);
    loc3.writeInt(arg4);
    loc3.writeString(arg5);
    loc3.writeBool(arg6);
    loc3.writeInt(arg7);
    Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
    return;
  }

  public handselFlower_async(
    arg1: AMI_IInteractive_handselFlower,
    arg2: int,
    arg3: string,
    arg4: int,
    arg5: string,
    arg6: Boolean,
    arg7: int
  ): void {
    var loc1 = this.makeContext(this.session);
    var loc2 = this.makeCall("handselFlower");
    var loc3;
    (loc3 = new SerializeStream()).writeInt(arg2);
    loc3.writeString(arg3);
    loc3.writeInt(arg4);
    loc3.writeString(arg5);
    loc3.writeBool(arg6);
    loc3.writeInt(arg7);
    Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
    return;
  }

  public handselFlowerCross_async(
    arg1: AMI_IInteractive_handselFlowerCross,
    arg2: SEntityId,
    arg3: SEntityId,
    arg4: int,
    arg5: string,
    arg6: Boolean,
    arg7: int
  ): void {
    var loc1 = this.makeContext(this.session);
    var loc2 = this.makeCall("handselFlowerCross");
    var loc3 = new SerializeStream();
    arg2.__write(loc3);
    arg3.__write(loc3);
    loc3.writeInt(arg4);
    loc3.writeString(arg5);
    loc3.writeBool(arg6);
    loc3.writeInt(arg7);
    Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
    return;
  }

  public handselRedEnvelope_async(
    arg1: AMI_IInteractive_handselRedEnvelope,
    arg2: int,
    arg3: string,
    arg4: int,
    arg5: string,
    arg6: Boolean,
    arg7: int,
    arg8: int
  ): void {
    var loc1 = this.makeContext(this.session);
    var loc2 = this.makeCall("handselRedEnvelope");
    var loc3;
    (loc3 = new SerializeStream()).writeInt(arg2);
    loc3.writeString(arg3);
    loc3.writeInt(arg4);
    loc3.writeString(arg5);
    loc3.writeBool(arg6);
    loc3.writeInt(arg7);
    loc3.writeInt(arg8);
    Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
    return;
  }

  public lookupReply_async(
    arg1: AMI_IInteractive_lookupReply,
    arg2: int,
    arg3: SLookupPlayerReply
  ): void {
    var loc1 = this.makeContext(this.session);
    var loc2 = this.makeCall("lookupReply");
    var loc3;
    (loc3 = new SerializeStream()).writeInt(arg2);
    arg3.__write(loc3);
    Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
    return;
  }

  public lookupRequest_async(
    arg1: AMI_IInteractive_lookupRequest,
    arg2: SEntityId,
    arg3: SEntityId,
    arg4: Boolean,
    arg5: Boolean
  ): void {
    var loc1 = this.makeContext(this.session);
    var loc2 = this.makeCall("lookupRequest");
    var loc3 = new SerializeStream();
    arg2.__write(loc3);
    arg3.__write(loc3);
    loc3.writeBool(arg4);
    loc3.writeBool(arg5);
    Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
    return;
  }

  public lookupRequestCrossToplist_async(
    arg1: AMI_IInteractive_lookupRequestCrossToplist,
    arg2: SEntityId,
    arg3: SEntityId,
    arg4: Boolean,
    arg5: Boolean
  ): void {
    var loc1 = this.makeContext(this.session);
    var loc2 = this.makeCall("lookupRequestCrossToplist");
    var loc3 = new SerializeStream();
    arg2.__write(loc3);
    arg3.__write(loc3);
    loc3.writeBool(arg4);
    loc3.writeBool(arg5);
    Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
    return;
  }

  public queryOnlineplayers_async(
    arg1: AMI_IInteractive_queryOnlineplayers,
    arg2: Array<any>
  ): void {
    var loc1 = this.makeContext(this.session);
    var loc2 = this.makeCall("queryOnlineplayers");
    var loc3 = new SerializeStream();
    SeqIntHelper.write(loc3, arg2);
    Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
    return;
  }

  public votePlayer_async(
    arg1: AMI_IInteractive_votePlayer,
    arg2: int,
    arg3: int,
    arg4: int
  ): void {
    var loc1 = this.makeContext(this.session);
    var loc2 = this.makeCall("votePlayer");
    var loc3;
    (loc3 = new SerializeStream()).writeInt(arg2);
    loc3.writeInt(arg3);
    loc3.writeInt(arg4);
    Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
    return;
  }

  public worshipShengTianSanto_async(
    arg1: AMI_IInteractive_worshipShengTianSanto,
    arg2: int
  ): void {
    var loc1 = this.makeContext(this.session);
    var loc2 = this.makeCall("worshipShengTianSanto");
    var loc3;
    (loc3 = new SerializeStream()).writeInt(arg2);
    Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
    return;
  }

  public static /* const */ NAME: string = "Message.Game.IInteractive";
}
